java digital rights management license distribution object oriented development .net database design c++ java software development databases software development copy protection asp j2ee electronic licensing